home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / misc / logisy30 / demos.txt < prev    next >
Text File  |  1993-01-31  |  14KB  |  279 lines

  1.     
  2.     Demonstrations for using logisym
  3.  
  4.  
  5.             [ * These are intended as a tutorial on using LOGISYM * ]
  6.             [ and not as a tutorial on the subject of digital logic ]
  7.  
  8.  
  9.     1. First run:     Basic operation of the simulator, and a look at the 
  10.                       basic logic functions AND, OR, NOT, and  BUFFER, as
  11.                       well as the unit delay model.
  12.         
  13.     2. Exclusive Or:  More about Logisym's controls and a demonstration of 
  14.                       an Exclusive Or gate built from  AND, OR, and NOT 
  15.                       logic gates.
  16.                       
  17.     3. 4 to 1 MUX:    The use of function keys as input data to a circuit,
  18.                       details on single step, and a demonstration of a 
  19.                       4 to 1 multiplexer.
  20.  
  21.     4. Arithmetic:    A simultaneous look at the half and full adders.
  22.         
  23.     5. 'Z' clocks:    Clock controls and a demonstration of the use and 
  24.                       versatility of the internal signals as inputs to 
  25.                       circuits.
  26.  
  27.     6. Flip flops:    Time base & Single step to observe detail and flow 
  28.                       of logic, featuring logisym's ability to accurately 
  29.                       simulate sequential logic circuits. Hazard states in 
  30.                       flipflops.
  31.     
  32.  
  33.  
  34.     1. First run
  35.  
  36.         If you have not done so, create a \LOGISYM directory on your 
  37.     hard disk and copy all of the logisym files to this directory. 
  38.     
  39.         At the DOS prompt type the command line:
  40.  
  41.                  C:\LOGISYM > logisym andornot<CR>
  42.  
  43.         The first screen is the SHAREWARE and COPYRIGHT notice, read  
  44.     the notice and press <CR> to acknowledge and accept the terms     
  45.     specified. The next screen is the file select/load screen. 
  46.     
  47.         Since you specified the file ANDORNOT.CKT on the command line, 
  48.     Logisym will not display a listing of the circuit files and will 
  49.     not prompt you to enter the files to be simulated. Next time try 
  50.     running Logisym without a circuit file on the command line. 
  51.     
  52.         Logisym will begin to load and parse the file, reporting the 
  53.     number of logic probes, logic gates, and errors found. When   
  54.     finished, you are prompted to 'Press any key when ready', do so. 
  55.     
  56.         You are now in the trace screen. Depending on the speed and   
  57.     architecture of your computer the trace may be flying by at an    
  58.     overwhelming rate, or crawling along at a snail's pace. Adjust    
  59.     the delay time by turning the DELAY knob in the lower right area 
  60.     of the screen, this is done by either pressing <y> to turn   
  61.     counter clockwise, or pressing <Y> to turn clockwise, or by 
  62.     clicking the left mouse button on '-' or '+'. Adjust the delay to
  63.     minimum and then to maximum extremes, now adjust the delay so the
  64.     trace takes between 5 and 15 seconds to cross the screen. This 
  65.     delay is passive and has no effect on the operation of the circuit. 
  66.         
  67.         By this time a few trace screens may have passed, press <T> to 
  68.     turn AUTO TRIGGER off, a red square in braces: [■] indicates ON, 
  69.     empty braces: [ ] indicates OFF. When off the trace will stop at 
  70.     the end of the current screen and automatically go into PAUSE mode. 
  71.     
  72.         Now take a close look at the timing chart generated by logisym. 
  73.     The yellow traces are internal clock signals, Z*, used as inputs to 
  74.     the circuit, the green traces are the outputs from logic gates defined
  75.     in the circuit. The 1s and 0s on the right are the instantanious
  76.     binary value of each trace. 
  77.     
  78.         In this simulation the top trace is ZD, a bit from the eight bit 
  79.     up/down counter. Next is ZR, a bit from the four bit random data
  80.     generator. Look at the gate outputs. The output from OA, an AND gate, 
  81.     is high only when both ZD and ZR are high. The output from OB, an OR 
  82.     gate, is high when either ZD or ZR are high. The output from OC, an 
  83.     inverter (sometimes called a NOT gate), is high only when its input, 
  84.     OB, is low. IA, a buffer, follows its input, OC, exactly. 
  85.     
  86.         Notice several buffers are cascaded. Turn the TIMEBASE knob fully 
  87.     clockwise by pressing (uppercase)<B> or clicking the left mouse button 
  88.     on the '+' just below the knob, and press the <SPACEBAR> to proceed to 
  89.     the next trace screen. Now watch for an event that causes IA to change 
  90.     states, observe the delay in the signal as it is propagated through the 
  91.     other buffers. This is the 'unit delay', it has no defined time in the 
  92.     simulation but is representitive of a real delay that exists in all 
  93.     logic devices. The unit delay is the same (has the same value) for all 
  94.     logic functions in Logisym except for the RS, D, and JK flipflops. In 
  95.     the generic TTL inverter (part # 7404) this delay would be about 10 
  96.     nanoseconds. 
  97.  
  98.         In this lesson you have learned how to use the BUTTONS and KNOBS 
  99.     that control many of logisym's functions. We have also reviewed the 
  100.     fundamental operations in which all logic functions are rooted. In the 
  101.     future adjust DELAY according to your needs, the speed of your computer
  102.     and the TIMEBASE you are using.
  103.     
  104.     
  105.     2. Exclusive Or
  106.  
  107.         At the DOS prompt type the command line:
  108.  
  109.                  C:\LOGISYM > logisym<CR>
  110.  
  111.         Press <CR> to transend the sharware and copyright notice. Observe 
  112.     the listing of files in the window at the bottom of the screen. At the 
  113.     prompt type XOR and press <CR> as below:
  114.  
  115.                  FILES  XOR<CR>
  116.  
  117.         Logisym should load XOR.CKT without error. Proceed to the trace 
  118.     screen by pressing any key. 
  119.     
  120.         First turn the TIMEBASE fully counter clockwise by pressing <b> or 
  121.     clicking on the '-'. Now adjust the COUNTER so that there are sixteen 
  122.     complete cycles of ZB per trace screen. Adjust the RANDOM DATA, ZT, to 
  123.     either extreme, and observe the relative rates. Now adjust RANDOM DATA 
  124.     so there are about 10 to 20 transitions of ZT per screen.
  125.  
  126.         The gates labeled Xa - Xe are an exclusive or gate made up of AND,
  127.     OR, and NOT functions. The output of the XOR is at the OR gate labeled 
  128.     XE. The exclusive or function is similar to the OR except that the 
  129.     condition where both inputs are true (high) has been eliminated. Thus 
  130.     the XOR gate is high (true) only when its inputs are different from 
  131.     one another: XE = 1 when ZB = 0 and ZT = 1, or ZB = 1 and ZT = 0.
  132.  
  133.         The gate LE is an internal XOR function, and is shown for comparsion.
  134.     Note the output of LE is the same as XE with the exception of time. The 
  135.     gate LE is a single XOR function of one unit delay, whereas the XE has 
  136.     two to three units of delay, depending on the previous inputs to the 
  137.     gate.
  138.  
  139.         In this lesson we have observed the control of TIMEBASE, COUNTER 
  140.     frequency, and the rate of change of the RANDOM DATA. We have seen the 
  141.     effect of cumulitave unit delays in comparison to a single delay having 
  142.     the same logical function. As well as reviewed the operation of the 
  143.     exclusive or function.
  144.     
  145.  
  146.  
  147.     3. 4 to 1 mux
  148.  
  149.         Start Logisym and load the file MUX.CKT. 
  150.  
  151.         At the trace screen, turn AUTO TRIGGER off, turn SINGLE STEP on, 
  152.     and turn the STEP MULTIPLIER, TIMEBASE, and RANDOM DATA fully clockwise.
  153.     Press the <SPACEBAR> until the trace screen is at the end. Now press
  154.     <SPACEBAR> again to start the next screen. The trace should cover 1/4 of
  155.     the trace screen.
  156.  
  157.         Examine the first two inputs, labeled SELECT. These are controlled
  158.     by the function keys on your keyboard. They both should be low (0). Now
  159.     press <F1> to change ZI from low to high. The trace does not immedately 
  160.     show the change but the LOGICAL VALUE at the right of the screen does. 
  161.     ZI should now be high and ZJ low, Check the logical value to the right. 
  162.     Press <m> to place a MARKER. Press <SPACEBAR> to begin another set of 
  163.     traces. When the trace stops, press <F1> and <F2> to toggle both of the 
  164.     SELECT inputs. Place a MARKER and press the <SPACEBAR> again. When the 
  165.     trace stops, press <F1>, place another MARKER then press <SPACEBAR>. 
  166.  
  167.         Examine the SELECT inputs from left to right, the binary values 
  168.     reflect a decimal count of 0, 1, 2, 3. Now look at the output MZ, while 
  169.     the SELECT inputs are 0, the output follows INPUT 0. While the SELECT 
  170.     inputs are equal to 1 the output follows INPUT 1, and so on.  
  171.  
  172.         We have seen how to control data by way of the keyboard, and used 
  173.     the SINGLE STEP feature to allow us break points so we may have control 
  174.     over the operation of the circuit. We have also observed the operation 
  175.     of a 4 to 1 data selector (multiplexer).
  176.  
  177.  
  178.  
  179.     4. Arithmetic
  180.  
  181.         Start Logisym and load the files: HALFADDR.CKT and FULLADDR.CKT
  182.  
  183.                  C:\LOGISYM > logisym halfaddr fulladdr<CR>
  184.  
  185.         - or -
  186.  
  187.                  FILES  HALFADDR FULLADDR<CR>
  188.         
  189.         You now have two independant circuits loaded and running at the 
  190.     same time.
  191.         
  192.         Adjust the DELAY, TIMEBASE, and COUNTER so that you may analyze 
  193.     the operation of the half and full adders. Notice ZA, ZB, and ZC do 
  194.     not change relative to one another, they are all bits from the up/down 
  195.     counter controlled by the COUNTER knob. 
  196.  
  197.         Practice using the features you have learned in the previous 
  198.     lessons. Analyze both circuits and verify their operations as binary
  199.     adders.
  200.     
  201.  
  202.     
  203.     5. 'Z' clocks
  204.  
  205.         Start Logisym with the files: ZCOUNT.CKT, ZRAND.CKT, and ZRING.CKT
  206.  
  207.                 C:\LOGISYM > logisym ZCOUNT ZRAND ZRING<CR>
  208.         
  209.         - or -
  210.     
  211.                 FILES  ZCOUNT ZRAND ZRING<CR>
  212.         
  213.         First notice there are no green traces (gates), these are all 
  214.     internal clocks signals used to control logic circuits. An eight bit 
  215.     up/down counter, a four bit random data generator, and a four bit ring 
  216.     counter.
  217.  
  218.         Using the knobs, adjust the rates of each and observe the results.
  219.     Notice the up/down counter, ZA - ZH, is counting up. Press <ALT><C>,
  220.     or click the left mouse button on the up arrow to the left of COUNTER.
  221.     The counter is now counting down. Repeat this proceedure for the ring 
  222.     counter, <ALT><R> or left mouse button on the arrow to the left of RING
  223.     COUNTER. 
  224.  
  225.         Adjust the TIMEBASE, COUNTER, RING COUNTER, and RANDOM DATA knobs 
  226.     fully clockwise. Examine the random data generator. Now press <ALT><D>,
  227.     or click the left mouse button on the square to the left of RANDOM DATA.
  228.     The square changes to an up arrow. Examine the random data again... 
  229.     there may now be 'spikes' in the data. That is, values may go from 0 to 
  230.     1 back to 0, or 1 to 0 back to 1. The middle state never holds its value
  231.     for any period of time and can cause problems in some logic circuits.
  232.     This control is called the RANDOM DATA LOW PASS FILTER. When on, SQUARE,
  233.     the random data generator will not allow a change from 0 to 1 to 0, or
  234.     from 1 to 0 to 1, the bit must hold its value for at lease one unit 
  235.     delay. When off, ARROW, the random data generator may produce these 
  236.     random spikes
  237.     
  238.         Quit logisym and restart it loading the file: ZKEY.CKT
  239.  
  240.         Eight straight lines of data... press any of the function keys,
  241.     <F1> through <F8>, and observe the results. Try pressing <SPACEBAR>
  242.     to put Logisym in PAUSE mode and press function keys to achieve the
  243.     values you desire. Check these values to the right, LOGICAL VALUE,
  244.     and press <SPACEBAR> again to release PAUSE mode. 
  245.  
  246.  
  247.     
  248.     6. Flipflops
  249.                                                             
  250.         Start Logisym with and load the file: RSFF.CKT
  251.  
  252.         The RS flip flop is usually the first sequential circuit most of 
  253.     us encounter. It is made of two cross coupled NAND gates, meaning one
  254.     input to each is the output of the other. Unlike combinational circuits,
  255.     a sequential circuit's response to an input is dependent on the previous
  256.     inputs and the current state of the circuit. Often sequential circuits
  257.     have one or more hazard states associated with them. That is a condition
  258.     that may cause unexpected or unwanted results, outputs that are changing
  259.     from 1 to 0 to 1 to 0 ...  this is called a 'race' condition. Adjust the 
  260.     TIMEBASE and COUNTER fully clockwise, then adjust the RANDON DATA to 
  261.     closely match the rate of the counter. Watch for both inputs to change 
  262.     from 0 to 1 at the same time, and observe the circuit's response. Repeat 
  263.     this proceedure while in SINGLE STEP mode, when it beings to 'race' press 
  264.     <K> to disable to clock signals. STEP the simulation a few times, the RS 
  265.     flipflop doesn't resolve its race condition. When disabled, all of the
  266.     clock signals stop running and hold their current value until re-enabled, 
  267.     the function keys are always operational. Press <K> again to re-enable 
  268.     the clocks, and observe when and how the race condition is resolved.
  269.  
  270.         Repeat the above lesson using the D flipflop (DFF.CKT) and the JK    
  271.     flipflop (JKFF.CKT). Determine the hazard conditions for each circuit 
  272.     and how they are resolved. Try setting the TIMEBASE to maximum and STEP
  273.     MULTILPIER to minimum and observe the transitions of each gate in the 
  274.     circuit while it is setting, resetting, and in a race condition.
  275.  
  276.  
  277.  
  278.  
  279.